using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("Tutorial_04")]
	public class Tutorial_04 : TutorialEntity
	{
		public Notification endTurnNotifier => method_3<Notification>("endTurnNotifier");

		public new Notification thatsABadPlayPopup => method_3<Notification>("thatsABadPlayPopup");

		public Notification handBounceArrow => method_3<Notification>("handBounceArrow");

		public Notification sheepTheBog => method_3<Notification>("sheepTheBog");

		public Notification noSheepPopup => method_3<Notification>("noSheepPopup");

		public int numBeastsPlayed => method_2<int>("numBeastsPlayed");

		public GameObject m_heroPowerCostLabel => method_3<GameObject>("m_heroPowerCostLabel");

		public Notification heroPowerHelp => method_3<Notification>("heroPowerHelp");

		public bool victory => method_2<bool>("victory");

		public bool m_hemetSpeaking => method_2<bool>("m_hemetSpeaking");

		public int numComplaintsMade => method_2<int>("numComplaintsMade");

		public bool m_shouldSignalPolymorph => method_2<bool>("m_shouldSignalPolymorph");

		public bool m_isPolymorphGrabbed => method_2<bool>("m_isPolymorphGrabbed");

		public bool m_isBogSheeped => method_2<bool>("m_isBogSheeped");

		public bool m_playOneHealthCommentNextTurn => method_2<bool>("m_playOneHealthCommentNextTurn");

		public Tutorial_04(IntPtr address, string className)
			: base(address, className)
		{
		}

		public Tutorial_04(IntPtr address)
			: this(address, "Tutorial_04")
		{
		}

		public new void PreloadAssets()
		{
			method_8("PreloadAssets");
		}

		public new void NotifyOfGameOver(TAG_PLAYSTATE gameResult)
		{
			method_8("NotifyOfGameOver", gameResult);
		}

		public new bool IsKeywordHelpDelayOverridden()
		{
			return method_11<bool>("IsKeywordHelpDelayOverridden", Array.Empty<object>());
		}

		public new void NotifyOfCoinFlipResult()
		{
			method_8("NotifyOfCoinFlipResult");
		}

		public void ShowEndTurnBouncingArrow()
		{
			method_8("ShowEndTurnBouncingArrow");
		}

		public bool AllowEndTurn()
		{
			return method_11<bool>("AllowEndTurn", Array.Empty<object>());
		}

		public new bool NotifyOfEndTurnButtonPushed()
		{
			return method_11<bool>("NotifyOfEndTurnButtonPushed", Array.Empty<object>());
		}

		public new void NotifyOfTargetModeCancelled()
		{
			method_8("NotifyOfTargetModeCancelled");
		}

		public new void NotifyOfCardGrabbed(Entity entity)
		{
			method_8("NotifyOfCardGrabbed", entity);
		}

		public new void NotifyOfCardDropped(Entity entity)
		{
			method_8("NotifyOfCardDropped", entity);
		}

		public new bool NotifyOfBattlefieldCardClicked(Entity clickedEntity, bool wasInTargetMode)
		{
			return method_11<bool>("NotifyOfBattlefieldCardClicked", new object[2] { clickedEntity, wasInTargetMode });
		}

		public new bool ShouldAllowCardGrab(Entity entity)
		{
			return method_11<bool>("ShouldAllowCardGrab", new object[1] { entity });
		}

		public void ManaLabelLoadedCallback(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("ManaLabelLoadedCallback", assetRef, go, callbackData);
		}

		public new void NotifyOfCardMousedOver(Entity mousedOverEntity)
		{
			method_8("NotifyOfCardMousedOver", mousedOverEntity);
		}

		public new void NotifyOfCardMousedOff(Entity mousedOffEntity)
		{
			method_8("NotifyOfCardMousedOff", mousedOffEntity);
		}

		public bool ShouldShowArrowOnCardInHand(Entity entity)
		{
			return method_11<bool>("ShouldShowArrowOnCardInHand", new object[1] { entity });
		}

		public void ShowHandBouncingArrow()
		{
			method_8("ShowHandBouncingArrow");
		}

		public new void NotifyOfDefeatCoinAnimation()
		{
			method_8("NotifyOfDefeatCoinAnimation");
		}

		public new List<RewardData> GetCustomRewards()
		{
			return method_14<Class271<RewardData>>("GetCustomRewards", Array.Empty<object>())?.method_25();
		}
	}
}
